package com.uzai.console.dto.profit.normalrewardrule;

import com.uzai.console.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @author liuqi
 * @date 2021年09月01日 18:06
 */
@ApiModel("分佣规则详情对象参数")
public class NormalRewardRuleInfoDto extends BaseDto {

    @ApiModelProperty("主键id（修改才需要，添加不需要）")
    private Long id;

    /**
     * 分佣规则名称
     */
    @ApiModelProperty("分佣规则名称")
    private String name;

    /**
     * 分佣逻辑\r\n0.根据购买者的会员类型设置的比例给其他关联人分佣\r\n1.根据分佣人各自的会员类型取各自的来自买家返利佣金的比例（悠哉2.0逻辑）
     */
    @ApiModelProperty("分佣逻辑(0-根据购买者的会员类型设置的比例给其他关联人分佣; 1-根据分佣人各自的会员类型取各自的来自买家返利佣金的比例（悠哉2.0逻辑）)")
    private Integer rewardLogic;

    /**
     * 分佣层级
     */
    @ApiModelProperty("层级N等于")
    private Integer rewardLevel;

    /**
     * 从总佣金扣除的佣金比例
     */
    @ApiModelProperty("总佣金中扣除X%后作为总佣金")
    private Double rewardSubRatio;

    /**
     * 奖励顺序（0.买家、上级、上上级、代理、上级代理、合伙人、上N级，1.买家、上级、代理、合伙人、上上级、上级代理、上N级）
     */
    @ApiModelProperty("分佣顺序（0-（买家、上级、上上级、代理、上级代理、合伙人、上N级）；1-（买家、上级、代理、合伙人、上上级、上级代理、上N级）")
    private Integer rewardSort;

    /**
     * 分佣是否可以溢出总佣金，0否，1是
     */
    @ApiModelProperty("分佣是否可以溢出总佣金，0否，1是")
    private Integer rewardOverflow;

    /**
     * 杀熟规则
     */
    @ApiModelProperty("杀熟规则")
    private Long nuserRuleGroupId;

    /**
     * 会员类型组
     */
    @ApiModelProperty("会员类型组")
    private Long userTypeGroupId;

    /**
     * 阶梯模式（0.按照单件商品佣金取阶梯，1.按照总佣金取阶梯）
     */
    @ApiModelProperty("拍多件阶梯按照（0.按照单件商品佣金取阶梯，1.按照总佣金取阶梯）")
    private Integer ladderModel;

    /**
     * 不同会员分佣明细
     */
    private String rewardDetail;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getRewardLevel() {
        return rewardLevel;
    }

    public void setRewardLevel(Integer rewardLevel) {
        this.rewardLevel = rewardLevel;
    }

    public Double getRewardSubRatio() {
        return rewardSubRatio;
    }

    public void setRewardSubRatio(Double rewardSubRatio) {
        this.rewardSubRatio = rewardSubRatio;
    }

    public Integer getRewardSort() {
        return rewardSort;
    }

    public void setRewardSort(Integer rewardSort) {
        this.rewardSort = rewardSort;
    }

    public Integer getRewardOverflow() {
        return rewardOverflow;
    }

    public void setRewardOverflow(Integer rewardOverflow) {
        this.rewardOverflow = rewardOverflow;
    }

    public Long getNuserRuleGroupId() {
        return nuserRuleGroupId;
    }

    public void setNuserRuleGroupId(Long nuserRuleGroupId) {
        this.nuserRuleGroupId = nuserRuleGroupId;
    }

    public Long getUserTypeGroupId() {
        return userTypeGroupId;
    }

    public void setUserTypeGroupId(Long userTypeGroupId) {
        this.userTypeGroupId = userTypeGroupId;
    }

    public Integer getLadderModel() {
        return ladderModel;
    }

    public void setLadderModel(Integer ladderModel) {
        this.ladderModel = ladderModel;
    }

    public String getRewardDetail() {
        return rewardDetail;
    }

    public void setRewardDetail(String rewardDetail) {
        this.rewardDetail = rewardDetail;
    }

    public Integer getRewardLogic() {
        return rewardLogic;
    }

    public void setRewardLogic(Integer rewardLogic) {
        this.rewardLogic = rewardLogic;
    }
}
